package eteam.aps.model.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 到货单 修改
 *
 * @author LiuLei
 */
@ApiModel(description = "到货单修改", value = "ArrivalVouchUpdateDto")
public class ArrivalVouchUpdateDto {

    /**
     * 条码号
     */
    @ApiModelProperty(name = "条码号", notes = "条码号")
    private String fBarCode;

    @ApiModelProperty(name = "到货单类型【0 差分单，1 默认单，2 合并单】", notes = "到货单类型【0 差分单，1 默认单，2 合并单】")
    private int fArrivalType;

    @ApiModelProperty(name = "合并条码号【仅限到货单类型是差分单才有】", notes = "合并条码号【仅限到货单类型是差分单才有】")
    private String fMergeBar;

    /**
     * 版本号
     */
    @ApiModelProperty(name = "版本号", notes = "版本号")
    private String fBanbencode;

    /**
     * 物料分类;物料分类
     */
    @ApiModelProperty(name = "物料分类", notes = "物料分类")
    private String fInvType;

    /**
     * 采购方;采购方
     */
    @ApiModelProperty(name = "采购方", notes = "采购方")
    private String fPurName;

    /**
     * 厂商制造批号
     */
    @ApiModelProperty(name = "厂商制造批号", notes = "厂商制造批号")
    private String fManufacturerBatchNo;

    /**
     * 出厂检验报告;【-1 否，1 是】
     */
    @ApiModelProperty(name = "出厂检验报告", notes = "【-1 否，1 是】 默认为是")
    private int fInsType;

    /**
     * 缺陷描述;缺陷描述
     */
    @ApiModelProperty(name = "缺陷描述", notes = "缺陷描述")
    private String fDefectsRemark;

    /**
     * 处理方式;处理方式
     */
    @ApiModelProperty(name = "处理方式", notes = "处理方式")
    private String fHandling;

    /**
     * 到货数量
     */
    @ApiModelProperty(name = "到货数量", notes = "到货数量")
    private BigDecimal fIQuantity;

    /**
     * 抽检数量
     */
    @ApiModelProperty(name = "抽检数量【不能大于到货数】", notes = "抽检数量【不能大于到货数】")
    private BigDecimal fICheckQuantity;

    /**
     * 不良数量
     */
    @ApiModelProperty(name = "不良数量【小于等于抽检数】", notes = "不良数量【小于等于抽检数】")
    private BigDecimal fFinValidQuantity;

    /**
     * 实收数量
     */
    @ApiModelProperty(name = "实收数量", notes = "实收数量")
    private BigDecimal fFinStockQuantity;

    /**
     * 良品数量
     */
    @ApiModelProperty(name = "良品数量【到货数-不良数】", notes = "良品数量【到货数-不良数】")
    private BigDecimal fVaildQuantity;

    /**
     * 验收状态
     */
    @ApiModelProperty(name = "验收状态【-1 拒收，1 允收】", notes = "验收状态【-1 拒收，1 允收】 默认为允收")
    private int fQCAceptType;

    /**
     * 检验说明
     */
    @ApiModelProperty(name = "检验说明", notes = "检验说明")
    private String fQCRemark;

    /**
     * 检验说明
     */
    @ApiModelProperty(name = "检验说明", notes = "检验说明")
    private String fRemark;

    /**
     * 合格率;合格率【良品数/到货数】
     */
    @JsonIgnore
    private BigDecimal fQtyRate;

    /**
     * 质检员;质检员
     */
    @JsonIgnore
    private String fOperator;

    /**
     * 最近修改人---外键，关联 system模块的 user 的 fuserid
     */
    @JsonIgnore
    private String fLastModifyUserId;

    /**
     * 修改时间 not null， 默认是 创建时间 用于 时间排序
     */
    @JsonIgnore
    private LocalDateTime fLastModifyTime;

    /**
     * 审核时间
     */
    @JsonIgnore
    protected LocalDateTime fAuditorTime;

    public LocalDateTime getfAuditorTime() {
        return fAuditorTime;
    }

    public void setfAuditorTime(LocalDateTime fAuditorTime) {
        this.fAuditorTime = fAuditorTime;
    }

    public String getfBarCode() {
        return fBarCode;
    }

    public void setfBarCode(String fBarCode) {
        this.fBarCode = fBarCode;
    }

    public int getfArrivalType() {
        return fArrivalType;
    }

    public void setfArrivalType(int fArrivalType) {
        this.fArrivalType = fArrivalType;
    }

    public String getfMergeBar() {
        return fMergeBar;
    }

    public void setfMergeBar(String fMergeBar) {
        this.fMergeBar = fMergeBar;
    }

    public String getfBanbencode() {
        return fBanbencode;
    }

    public void setfBanbencode(String fBanbencode) {
        this.fBanbencode = fBanbencode;
    }

    public String getfInvType() {
        return fInvType;
    }

    public void setfInvType(String fInvType) {
        this.fInvType = fInvType;
    }

    public String getfPurName() {
        return fPurName;
    }

    public void setfPurName(String fPurName) {
        this.fPurName = fPurName;
    }

    public String getfManufacturerBatchNo() {
        return fManufacturerBatchNo;
    }

    public void setfManufacturerBatchNo(String fManufacturerBatchNo) {
        this.fManufacturerBatchNo = fManufacturerBatchNo;
    }

    public int getfInsType() {
        return fInsType;
    }

    public void setfInsType(int fInsType) {
        this.fInsType = fInsType;
    }

    public String getfDefectsRemark() {
        return fDefectsRemark;
    }

    public void setfDefectsRemark(String fDefectsRemark) {
        this.fDefectsRemark = fDefectsRemark;
    }

    public String getfHandling() {
        return fHandling;
    }

    public void setfHandling(String fHandling) {
        this.fHandling = fHandling;
    }

    public BigDecimal getfICheckQuantity() {
        return fICheckQuantity;
    }

    public BigDecimal getfIQuantity() {
        return fIQuantity;
    }

    public void setfIQuantity(BigDecimal fIQuantity) {
        this.fIQuantity = fIQuantity;
    }

    public void setfICheckQuantity(BigDecimal fICheckQuantity) {
        this.fICheckQuantity = fICheckQuantity;
    }

    public BigDecimal getfFinValidQuantity() {
        return fFinValidQuantity;
    }

    public void setfFinValidQuantity(BigDecimal fFinValidQuantity) {
        this.fFinValidQuantity = fFinValidQuantity;
    }

    public BigDecimal getfFinStockQuantity() {
        return fFinStockQuantity;
    }

    public void setfFinStockQuantity(BigDecimal fFinStockQuantity) {
        this.fFinStockQuantity = fFinStockQuantity;
    }

    public BigDecimal getfVaildQuantity() {
        return fVaildQuantity;
    }

    public void setfVaildQuantity(BigDecimal fVaildQuantity) {
        this.fVaildQuantity = fVaildQuantity;
    }

    public int getfQCAceptType() {
        return fQCAceptType;
    }

    public void setfQCAceptType(int fQCAceptType) {
        this.fQCAceptType = fQCAceptType;
    }

    public String getfRemark() {
        return fRemark;
    }

    public void setfRemark(String fRemark) {
        this.fRemark = fRemark;
    }

    public String getfQCRemark() {
        return fQCRemark;
    }

    public void setfQCRemark(String fQCRemark) {
        this.fQCRemark = fQCRemark;
    }

    public BigDecimal getfQtyRate() {
        return fQtyRate;
    }

    public void setfQtyRate(BigDecimal fQtyRate) {
        this.fQtyRate = fQtyRate;
    }

    public String getfOperator() {
        return fOperator;
    }

    public void setfOperator(String fOperator) {
        this.fOperator = fOperator;
    }

    public String getfLastModifyUserId() {
        return fLastModifyUserId;
    }

    public void setfLastModifyUserId(String fLastModifyUserId) {
        this.fLastModifyUserId = fLastModifyUserId;
    }

    public LocalDateTime getfLastModifyTime() {
        return fLastModifyTime;
    }

    public void setfLastModifyTime(LocalDateTime fLastModifyTime) {
        this.fLastModifyTime = fLastModifyTime;
    }
}
